﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ФормированиеРегулярныхДокументов
	{

		public object СформироватьРегулярныеДокументы(/*Настройка, ДатаНачалаПериода, ДатаОкончанияПериода*/)
		{
			//Результат = Новый Структура();
			//Результат.Вставить("СозданныеДокументы",	  Новый Массив());
			//Результат.Вставить("ОбработанныеДокументы",	  Новый Массив());
			//Результат.Вставить("НеОбработанныеДокументы", Новый Массив());
			//Заголовок   = "Формирование документов по настройке " + Настройка + " за период " + ПредставлениеПериода(ДатаНачалаПериода, КонецДня(ДатаОкончанияПериода));
			//ТекстОшибки = "";
			/*//Выполним логику, находящуюся в регламенте
*/
			//МассивСформированныеДокументы = Неопределено;
			//МассивУчтенныеДокументы		  = Неопределено;
			//МассивНепроведенныеДокументы  = Неопределено;
			//ЭкземплярРегламента = РегламентноеФормированиеДокументов.ПолучитьЭкземплярРегламента(Настройка);
			//ОбъектНастройки = Настройка.ПолучитьОбъект();
			/*// Заблокируем объект настройки
*/
			/*// Вызов метода Разблокировать() выполнять не обязательно, он будет вызван неявно при выходе из процедуры
*/
			//НачатьТранзакцию();
			/*// Формируем документы
*/
			if(true/*НЕ РегламентноеФормированиеДокументов.СформироватьДокументы(ЭкземплярРегламента, ДатаНачалаПериода, ДатаОкончанияПериода, ТекстОшибки, МассивСформированныеДокументы, МассивУчтенныеДокументы)*/)
			{
				//ОтменитьТранзакцию();
				//ОбщегоНазначения.СообщитьОбОшибке(ТекстОшибки, , Заголовок);
			}
			/*// Запишем дату, по которую сформированы документы
*/
			if(true/*МассивСформированныеДокументы.Количество() > 0*/)
			{
				if(true/*НЕ РегламентноеФормированиеДокументов.УстановитьПериодФормированияДокументов(ОбъектНастройки, ДатаОкончанияПериода, ТекстОшибки)*/)
				{
					//ОтменитьТранзакцию();
					//ОбщегоНазначения.СообщитьОбОшибке("Ошибка при записи даты, по которую учтены данные сформированных документов: " + ТекстОшибки, , Заголовок);
				}
			}
			//ЗафиксироватьТранзакцию();
			/*// Подготовим таблицу учтенных документов
*/
			//ТаблицаУчтенныеДокументы = Новый ТаблицаЗначений();
			//ТаблицаУчтенныеДокументы.Колонки.Добавить("Документ");
			//ТаблицаУчтенныеДокументы.Колонки.Добавить("Проведен", Новый ОписаниеТипов("Булево"));
			/*// Пометим на удаление учтенные документы и проведем сформированные
*/
			if(true/*НЕ РегламентноеФормированиеДокументов.УдалитьУчтенныеДокументы(ЭкземплярРегламента, ТаблицаУчтенныеДокументы, Ложь, ТекстОшибки)*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке(ТекстОшибки, , Заголовок);
			}
			if(true/*НЕ РегламентноеФормированиеДокументов.ПровестиСформированныеДокументы(ЭкземплярРегламента, МассивСформированныеДокументы, Ложь, ТекстОшибки, МассивНепроведенныеДокументы)*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке(ТекстОшибки, , Заголовок);
			}
			//Результат.Вставить("СозданныеДокументы",	 МассивСформированныеДокументы);
			//Результат.Вставить("ОбработанныеДокументы",	 МассивУчтенныеДокументы);
			//Результат.Вставить("НепроведенныеДокументы", МассивНепроведенныеДокументы);
			return null;
		}
	}
}
